package filedemo;

import javax.swing.*;
import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
import java.io.IOException;

public class TestDriverFile {
    public static void main(String[] args) {
        System.out.println("-----文件输入流-------------");
        test01();
        System.out.println("---------文件输入流---遍历方式获取文件名或目录名-------------");
        test011();
    }
    /**
     * 文件工具类-----file
     */
    public  static void test011(){
        //输入一个目录，把目录下的文件打印出来
        File file = new File("E:\\temp\\filesdemo");
        //获取该目录下的所有文件信息
       File[] subFiles =file.listFiles(new FilenameFilter() {
           //dir当前遍历的文件所在的目录名
           //name 当前遍历的文件名
           @Override
           public boolean accept(File dir, String name) {
               //业务逻辑处理相关
               System.out.println("---------------"+dir+"-----------------"+name);
               return name.contains("temp");
           }
       });
        for (File subF:subFiles) {
            System.out.println((subF.isDirectory()?"目录：":"文件：")+"--"+subF.getAbsolutePath());

        }
    }
    /**
     * 文件工具类
     * 文件流
     */
    public static  void  test01(){
        //创建文件
        File file = new File("E:\\temp\\filesdemo\\txt.txt");
        File file1 = new File("E:\\temp\\filesdemo");
        System.out.println(file.isDirectory()?"目录：":"文件："+file.getAbsolutePath());//当前是目录还是文件
        System.out.println((file1.isDirectory()?"目录：":"文件：")+file1.getAbsolutePath());//当前是目录还是文件
        System.out.println("getAbsolutePath:"+file.getAbsolutePath());//打印文件目录位置
        System.out.println("getName:"+file.getName());//打印文件名

        //如果文件对象不存在
        if (!file.exists()){
            if (file.isDirectory()){
                //如果是目录则创建文件
            }else {
                //如果是文件则创建文件
                try {
                    file.createNewFile();//创建文件
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
